package com.qianli.user.ro.auth;

import com.qianli.user.ro.BaseComplete;

import java.io.Serializable;
import java.util.Date;

/**
 * name:人脸识别信息
 * auth:ting.li@qianli-inc.com
 * date:2017/12/2216:16
 * version: v1.0.0
 **/
public class UserAuthFaceRecognitionRO extends UserAbastractBaseAuthRO implements BaseComplete, Serializable{

    private static final long serialVersionUID = 6508129740984751205L;

    /**
     *唯一认证标识
     */
    private String bizNo;
    /**
     *认证类型，1阿里人脸识别，2人脸识别
     * @see com.qianli.user.enums.FaceRecognitionTypeEnum
     */
    private Integer type;
    /**
     *身份证正面OCR图片URL
     */
    private String frontUrl;
    /**
     *身份证反面OCR图片URL
     */
    private String backUrl;
    /**
     *人脸校验最佳图片URL
     */
    private String faceBestUrl;
    /**
     *人脸校验身份证对比图片URL
     */
    private String faceRefUrl;
    /**
     *人脸校验含环境背景图片URL
     */
    private String faceEnvUrl;
    /**
     *人脸校验动作一图片URL
     */
    private String faceAction1Url;
    /**
     *人脸校验动作二图片URL
     */
    private String faceAction2Url;
    /**
     *人脸校验动作三图片URL
     */
    private String faceAction3Url;

    private String frontDetail;

    /**
     *身份证反面OCR API返回检测结果
     */
    private String backDetail;
    /**
     *人脸识别API返回检测结果
     */
    private String faceDetail;

    /**
     *民族
     */
    private String race;
    /**
     *姓名
     */
    private String name;
    /**
     *性别
     */
    private String gender;
    /**
     *身份证号
     */
    private String identityNo;
    /**
     *生日
     */
    private String   birthday;
    /**
     *住址
     */
    private String address;
    /**
     *身份证有效期
     */
    private String validDate;
    /**
     *身份证正面OCR正式身份证合法性值
     */
    private Double frontIdPhotoValue;
    /**
     *身份证正面OCR正式身份证与屏幕翻拍合法性值之和
     */
    private Double frontIdAndScreenValue;
    /**
     *身份证反面OCR正式身份证合法性值
     */
    private Double backIdPhotoValue;
    /**
     *身份证反面OCR正式身份证与屏幕翻拍合法性值之和
     */
    private Double backIdAndScreenValue;
    /**
     *身份证正面第三方校验API接口返回的request id
     */
    private String requestIdFront;
    /**
     *身份证反面第三方校验API接口返回的request id
     */
    private String requestIdBack;
    /**
     *人脸第三方校验API接口返回的request id
     */
    private String requestIdFace;
    /**
     *详细id
     */
    private Integer detailId;
    /**
     *是否审核通过:0:不通过 1:通过
     */
    private Integer passed;

    public String getBizNo() {
        return bizNo;
    }

    public void setBizNo(String bizNo) {
        this.bizNo = bizNo;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getFrontUrl() {
        return frontUrl;
    }

    public void setFrontUrl(String frontUrl) {
        this.frontUrl = frontUrl;
    }

    public String getBackUrl() {
        return backUrl;
    }

    public void setBackUrl(String backUrl) {
        this.backUrl = backUrl;
    }

    public String getFaceBestUrl() {
        return faceBestUrl;
    }

    public void setFaceBestUrl(String faceBestUrl) {
        this.faceBestUrl = faceBestUrl;
    }

    public String getFaceRefUrl() {
        return faceRefUrl;
    }

    public void setFaceRefUrl(String faceRefUrl) {
        this.faceRefUrl = faceRefUrl;
    }

    public String getFaceEnvUrl() {
        return faceEnvUrl;
    }

    public void setFaceEnvUrl(String faceEnvUrl) {
        this.faceEnvUrl = faceEnvUrl;
    }

    public String getFaceAction1Url() {
        return faceAction1Url;
    }

    public void setFaceAction1Url(String faceAction1Url) {
        this.faceAction1Url = faceAction1Url;
    }

    public String getFaceAction2Url() {
        return faceAction2Url;
    }

    public void setFaceAction2Url(String faceAction2Url) {
        this.faceAction2Url = faceAction2Url;
    }

    public String getFaceAction3Url() {
        return faceAction3Url;
    }

    public void setFaceAction3Url(String faceAction3Url) {
        this.faceAction3Url = faceAction3Url;
    }

    public String getFrontDetail() {
        return frontDetail;
    }

    public void setFrontDetail(String frontDetail) {
        this.frontDetail = frontDetail;
    }

    public String getBackDetail() {
        return backDetail;
    }

    public void setBackDetail(String backDetail) {
        this.backDetail = backDetail;
    }

    public String getFaceDetail() {
        return faceDetail;
    }

    public void setFaceDetail(String faceDetail) {
        this.faceDetail = faceDetail;
    }

    public String getRace() {
        return race;
    }

    public void setRace(String race) {
        this.race = race;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getIdentityNo() {
        return identityNo;
    }

    public void setIdentityNo(String identityNo) {
        this.identityNo = identityNo;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getValidDate() {
        return validDate;
    }

    public void setValidDate(String validDate) {
        this.validDate = validDate;
    }

    public Double getFrontIdPhotoValue() {
        return frontIdPhotoValue;
    }

    public void setFrontIdPhotoValue(Double frontIdPhotoValue) {
        this.frontIdPhotoValue = frontIdPhotoValue;
    }

    public Double getFrontIdAndScreenValue() {
        return frontIdAndScreenValue;
    }

    public void setFrontIdAndScreenValue(Double frontIdAndScreenValue) {
        this.frontIdAndScreenValue = frontIdAndScreenValue;
    }

    public Double getBackIdPhotoValue() {
        return backIdPhotoValue;
    }

    public void setBackIdPhotoValue(Double backIdPhotoValue) {
        this.backIdPhotoValue = backIdPhotoValue;
    }

    public Double getBackIdAndScreenValue() {
        return backIdAndScreenValue;
    }

    public void setBackIdAndScreenValue(Double backIdAndScreenValue) {
        this.backIdAndScreenValue = backIdAndScreenValue;
    }

    public String getRequestIdFront() {
        return requestIdFront;
    }

    public void setRequestIdFront(String requestIdFront) {
        this.requestIdFront = requestIdFront;
    }

    public String getRequestIdBack() {
        return requestIdBack;
    }

    public void setRequestIdBack(String requestIdBack) {
        this.requestIdBack = requestIdBack;
    }

    public String getRequestIdFace() {
        return requestIdFace;
    }

    public void setRequestIdFace(String requestIdFace) {
        this.requestIdFace = requestIdFace;
    }

    public Integer getDetailId() {
        return detailId;
    }

    public void setDetailId(Integer detailId) {
        this.detailId = detailId;
    }

    public Integer getPassed() {
        return passed;
    }

    public void setPassed(Integer passed) {
        this.passed = passed;
    }


    @Override
    public Boolean isComplete() {
        return !Integer.valueOf(0).equals(passed);
    }
}
